/**
 * package des interfaces du DAO.
 */
package fr.afcepf.al23.qualite.interfaces;

import fr.afcepf.al23.qualite.entity.Utilisateur;

/**
 * Une interface qui designe les methode du daoUtilisateur.
 *
 * @author Stagiaire
 *
 */
public interface IDaoUtilisateur {
    /**
     * Methode qui verifie lexistence du mdp et mail dans la BDD.
     *
     * @param mail
     *            : {@link Utilisateur#mail}.
     * @param mdp
     *            : {@link Utilisateur#mdp}.
     * @return <ul>
     *          <li>un {@link Utilisateur} si OK</li>
     *          <li>null si mail et/ou mdp existe pas</li>
     *          </ul>
     */
    Utilisateur seConnecter(String mail, String mdp);

    /**
     * Methode qui verifie lexistence du mdp et mail dans la BDD.
     *
     * @param utilisateur
     *            Un {@link Utilisateur}.
     * @return un utilisateur avec ses atributs.
     */
    Utilisateur enregistrer(Utilisateur utilisateur);

    /**
     * Methode qui permet de verifier si le mail existe deja dans la BDD.
     *
     * @param mail
     *            : {@link Utilisateur#mail}.
     * @return un boolean.
     *         <ul>
     *         <li>true si mail existe pas</li>
     *         <li>false si mail existe deja</li>
     *         </ul>
     */
    boolean verifMail(String mail);
}
